今天有去參考書上的內容,我有用書上的內容套進我的網站裡面,我參考這本書新觀念PHP7+MySQL+AJAX網頁設計範本,這本書很不錯很推。
我今天主要是把wfCart購物車類別元件套進我的購物網站,昨天在做時也有遇到bug,今天也是,盯了2小時的螢幕後來才發現傳值時沒有echo!!難怪沒東西哈哈。下面程式碼是在引入wfCart類別,這算是固定起手式,再來的msg只是要顯示"有放進購物車囉"的資訊。
include "../method/wfcart.php"; // 插入購物車的PHP類別檔
session_start(); // 啟用交談期
$cart =& $_SESSION['wfcart']; // 指向購物車物件
if( !is_object($cart) ) $cart = new wfCart();
下面就是把表單的值放進additem()裡面,這是wfCart的函式,格式要照下面順序打:
add_item(產品編號,數量,價格,名稱)
$msg = "";
// 檢查是否是表單送回
if ( isset($_POST["Order"]) ) {
// 新增至購物車
$id = $_POST["id"];
$title = $_POST["name"];
$price = $_POST["price"];
$quantity = $_POST["num"];
if ( $quantity == "" ) $quantity = 1;
$cart -> add_item($id,$quantity,$price,$title);
$msg = "<font color='red'>已將選購商品".$title;
$msg .= "放入購物車!</font><br/>";
}
再來是檢查購物內容的頁面,想要結帳就是從這裡結帳。
前面這段還是引入購物車套件的起手式,$flag是用來切換色彩的。
include "../method/wfcart.php"; // 插入購物車的PHP類別檔
session_start(); // 啟用交談期
$cart =& $_SESSION['wfcart']; // 指向購物車物件
if(!is_object($cart)) $cart = new wfCart();
$flag = false;
這一段是在顯示購物車內容,只要購物車元件有記錄到商品時
$cart->itemcount > 0
就會把它的內容用foreach顯示出來,顯示商品的值是
商品編號:$item['id']
商品資訊:$item['info']
商品價格:$item['price']
商品個數:$item['qty']
該商品總計:$item['subtotal']
if($cart->itemcount > 0) { // 檢查購物車是否有商品
// 顯示購物車的內容
foreach($cart->get_contents() as $item) {
if ($flag) { // 切換顯示色彩
$flag = false;
$color="#FF99CC";
} else {
$flag = true;
$color="#99FFC";
}
echo "<tr bgcolor='".$color."'>";
echo "<td><a href='delete.php?Id=".$item['id']."'>";
echo "刪除</a></td>";
// 顯示選購的商品資料
echo "<td>".$item['id']."</td>";
echo "<td>".$item['info']."</td>";
echo "<td>".number_format($item['price'],2)."</td>";
echo "<td>".$item['qty']."</td>";
echo "<td>".number_format($item['subtotal'],2)."</td>";
}
echo "<tr bgcolor=yellow><td colspan='6' align='right'>";
echo "總金額 = NT$".number_format($cart->total,2)."元</td></tr>";
}
number_format() 是用來格式化數字的這是PHP原有的函數,最後結帳是$cart->total
今天還蠻充實的,而且內容算蠻多的不錯喔